package com.lincoln.cloud.servercenter.annotation;

import com.lincoln.cloud.servercenter.abstracter.IntServerPool;
import com.lincoln.cloud.servercenter.abstracter.NettyCommunicationProtocol;
import com.lincoln.cloud.servercenter.interfaces.CommunicationProtocol;
import com.lincoln.cloud.servercenter.interfaces.ServerPool;

/**
 * 注解服务注册中心的配置,并在代码中调用执行ServerCenterContext.init();
 *
 * @author lincoln
 */
public @interface ServerCenter {
    /**
     * 扫描路径
     *
     * @return
     */
    String[] scannerPaths() default {};

    /**
     * 扫描路径
     *
     * @return
     */
    String scannerPath() default "";

    /**
     * 服务器池
     *
     * @return
     */
    Class<? extends ServerPool> serverPool() default IntServerPool.class;

    /**
     * 协议
     * @return
     */
    Class<? extends CommunicationProtocol> communicationProtocol() default NettyCommunicationProtocol.class;
}
